<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="/view/conf/farmtag.tld" prefix="PF"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<PF:basePath/>">
<title>课程数据管理</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<jsp:include page="/view/conf/include.jsp"></jsp:include>
</head>
<body class="easyui-layout">
	<div data-options="region:'west',split:true,border:false"
		style="width: 250px;">
		<div class="TREE_COMMON_BOX_SPLIT_DIV">
			<a id="classTypeTreeReload" href="javascript:void(0)"
				class="easyui-linkbutton" data-options="plain:true"
				iconCls="icon-reload">刷新</a> <a id="classTypeTreeOpenAll"
				href="javascript:void(0)" class="easyui-linkbutton"
				data-options="plain:true" iconCls="icon-sitemap">展开</a>
		</div>
		<ul id="classTypeTree"></ul>
	</div>
	<div class="easyui-layout" data-options="region:'center',border:false">
		<div data-options="region:'north',border:false">
			<form id="searchClasstForm">
				<table class="editTable">
					<tr>
						<td class="title">课程分类:</td>
						<td><input id="PARENTTITLE_RULE" type="text"
							readonly="readonly" style="background: #F3F3E8;width: 150px;"> <input
							id="PARENTID_RULE" name="TYPEID:=" type="hidden"></td>
						<td class="title">标题:</td>
						<td><input name="A.NAME:like" style="width: 150px;" type="text"></td>
						<td class="title">课程ID:</td>
						<td><input name="A.ID:like" style="width: 150px;" type="text"></td>
						<td class="title">状态:</td>
						<td><select name="A.PSTATE:=">
								<option value=""></option>
								<option value="1">发布</option>
								<option value="0">待发布</option>
						</select></td>
					</tr>
					<tr style="text-align: center;">
						<td colspan="8"><a id="a_search" href="javascript:void(0)"
							class="easyui-linkbutton" iconCls="icon-search">查询</a> <a
							id="a_reset" href="javascript:void(0)" class="easyui-linkbutton"
							iconCls="icon-reload">清除条件</a></td>
					</tr>
				</table>
			</form>
		</div>
		<div data-options="region:'center',border:false">
			<table id="dataClasstGrid">
				<thead>
					<tr>
						<th data-options="field:'ck',checkbox:true"></th>
						<th field="NAME" data-options="sortable:true" width="100">课程名称</th>
						<th field="TYPENAME" data-options="sortable:true" width="100">课程分类</th>
						<th field="DIFFICULTY" data-options="sortable:true" width="30">等级</th>
						<th field="OUTAUTHOR" data-options="sortable:true" width="40">作者</th>
						<th field="HOURNUM" data-options="sortable:true" width="30">课时数</th>
						<th field="ALTIME" data-options="sortable:true" width="40">时长(分钟)</th>
						<!-- 
					<th field="EVALUATION" data-options="sortable:true" width="100">评分</th>
					<th field="BOOKEDNUM" data-options="sortable:true" width="90">订阅人数</th>
					<th field="HOTSCORE" data-options="sortable:true" width="80">热度</th>
					<th field="CUSERNAME" data-options="sortable:true" width="40">创建人</th>
						<th field="CTIME" data-options="sortable:true" width="50">创建时间</th>
					 -->
						<th field="LEARNEDNUM" data-options="sortable:true" width="30">学习人数</th>

						<th field="EUSERNAME" data-options="sortable:true" width="40">修改人</th>
						<th field="ETIME" data-options="sortable:true" width="70">修改时间</th>
						<th field="PSTATE" data-options="sortable:true" width="30">状态</th>
					</tr>
				</thead>
			</table>
			<div id="win" class="easyui-window" title="导出学习用户" closed="true"
				style="width: 400px; height: 200px;" data-options="modal:true">
				<table class="editTable">
					<tr>
						<td class="title">课程数量:</td>
						<td colspan="3"><span id="classNums"></span></td>
					</tr>
					<tr>
						<td class="title">组织机构:</td>
						<td colspan="3"><input id="form_orgId" style="width: 250px;"
							value="${orgId }"><br />默认导出全部用户</td>
					</tr>
				</table>
				<div style="text-align: center; padding-top: 20px;">
					<a onclick="doexport()" class="easyui-linkbutton"
						data-options="iconCls:'icon-excel'">导出</a>
				</div>
			</div>
			<form method="post" action="userclass/exportClassExcel.do"
				id="reportClassForm">
				<input type="hidden" name="classids" id="classIds" /> <input
					type="hidden" name="orgid" id="orgid" />
			</form>
		</div>
	</div>
</body>
<script type="text/javascript">
	var url_delActionClasst = "classt/del.do";//删除URL
	var url_formActionClasst = "classt/form.do";//增加、修改、查看URL
	var url_searchActionClasst = "classt/query.do";//查询URL
	var title_windowClasst = "课程管理";//功能名称
	var gridClasst;//数据表格对象
	var searchClasst;//条件查询组件对象
	var toolBarClasst = [ {
		id : 'view',
		text : '进入课程',
		iconCls : 'icon-tip',
		handler : visitClasst
	}
	//,{
	//	id : 'view',
	//	text : '查看',
	//	iconCls : 'icon-tip',
	//	handler : viewDataClasst
	//}
	, {
		id : 'add',
		text : '课程创建页面',
		iconCls : 'icon-add',
		handler : creatNewClasst
	}, {
		id : 'edit',
		text : '课程編輯页面',
		iconCls : 'icon-edit',
		handler : openEditPage
	}, {
		id : 'classuser',
		text : '设置分类',
		iconCls : 'icon-sitemap',
		handler : chooseTree
	}, {
		id : 'classuser',
		text : '管理学习用户',
		iconCls : 'icon-customers',
		handler : openClassUsers
	}, {
		id : 'listExport',
		text : '导出学习用户',
		iconCls : 'icon-excel',
		handler : listClassExport
	}, {
		id : 'saveToDisk',
		text : '导出到服务器磁盘',
		iconCls : 'icon-save',
		handler : saveToDisk
	}, {
		id : 'sycnToWcp',
		text : '创建WCP引用知识',
		iconCls : 'icon-report',
		handler : wcpSycnForm
	}
	//, {
	//	id : 'del',
	//	text : '删除',
	//	iconCls : 'icon-remove',
	//	handler : delDataClasst
	//}
	];
	$(function() {
		//初始化数据表格
		gridClasst = $('#dataClasstGrid').datagrid({
			url : url_searchActionClasst,
			fit : true,
			fitColumns : true,
			'toolbar' : toolBarClasst,
			pagination : true,
			closable : true,
			checkOnSelect : true,
			border : false,
			striped : true,
			rownumbers : true,
			ctrlSelect : true
		});
		//初始化条件查询
		searchClasst = $('#searchClasstForm').searchForm({
			gridObj : gridClasst
		});
		$('#classTypeTree').tree({
			url : 'classtype/classtypeTree.do',
			onSelect : function(node) {
				$('#PARENTID_RULE').val(node.id);
				$('#PARENTTITLE_RULE').val(node.text);
				searchClasst.dosearch({
					'ruleText' : searchClasst.arrayStr()
				});
			}
		});
		$('#classTypeTreeReload').bind('click', function() {
			$('#classTypeTree').tree('reload');
		});
		$('#classTypeTreeOpenAll').bind('click', function() {
			$('#classTypeTree').tree('expandAll');
		});
	});
	
	
	//进入wcp同步页面
	function wcpSycnForm() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length >0) {
			var url = 'classt/sycnform.do?ids=' + $.farm.getCheckedIds(gridClasst, 'ID');
			$.farm.openWindow({
				id : 'winClasstWcpSycn',
				width : 400,
				height : 300,
				modal : true,
				url : url,
				title : 'wcp知识同步'
			});
		} else {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE,
			'info');
		}
	}
	
	
	//查看
	function visitClasst() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length != 1) {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE_ONLY,
					'info');
			return;
		}
		window.open("classweb/Pubview.do?classid=" + selectedArray[0].ID);
	}

	//创建课程
	function creatNewClasst() {
		window.open("classweb/create.do");
	}
	//加载远程组织机构表单的处理函数
	function loadFilterFunc(data, parent, obj) {
		var opt = $(obj).data().tree.options;
		var idFiled, textFiled, parentField;
		if (opt.parentField) {
			idFiled = opt.idFiled || 'id';
			textFiled = opt.textFiled || 'text';
			parentField = opt.parentField;

			var i, l, treeData = [], tmpMap = [];

			for (i = 0, l = data.length; i < l; i++) {
				tmpMap[data[i][idFiled]] = data[i];
			}

			for (i = 0, l = data.length; i < l; i++) {
				if (tmpMap[data[i][parentField]]
						&& data[i][idFiled] != data[i][parentField]) {
					if (!tmpMap[data[i][parentField]]['children'])
						tmpMap[data[i][parentField]]['children'] = [];
					data[i]['text'] = data[i][textFiled];
					tmpMap[data[i][parentField]]['children'].push(data[i]);
				} else {
					data[i]['text'] = data[i][textFiled];
					treeData.push(data[i]);
				}
			}
			return treeData;
		}
		return data;
	}
	//执行批量导出报表
	function doexport() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		// 有数据执行操作
		var str = selectedArray.length + "个课程的用户学习记录将被导出，是否继续?";
		$.messager.confirm(MESSAGE_PLAT.PROMPT, str, function(flag) {
			if (flag) {
				$.messager.alert('报表加载中...', '请等待,不要关闭本窗口直至报表导出完成... ...',
						'warning');
				$('#classIds').val($.farm.getCheckedIds(gridClasst, 'ID'));
				$('#orgid').val($('#form_orgId').combotree('getValues'));
				$('#reportClassForm').submit();
			}
		});
	}

	//进入批量导出表单
	function listClassExport() {
		//加载机构树（放在岗位列表后面）
		$('#form_orgId').combotree({
			url : 'organization/loadTree.do',
			required : false,
			textFiled : 'name',
			parentField : 'parentid',
			loadFilter : function(data, parent) {
				return loadFilterFunc(data, parent, this);
			},
			onSelect : function(node) {
			},
			onLoadSuccess : function(node, data) {
			}
		});
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length > 0) {
			$('#classNums').text(selectedArray.length);
			$('#win').window('open');
		} else {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE,
					'info');
		}
	}
	//进入編輯页面
	function openEditPage() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length != 1) {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE_ONLY,
					'info');
			return;
		}
		window.open("classweb/mng.do?classid=" + selectedArray[0].ID);
	}

	//进入学员管理界面
	function openClassUsers() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length > 0) {
			var url = 'userclass/innerlist.do?classid=' + $.farm.getCheckedIds(gridClasst, 'ID');
			$.farm.openWindow({
				id : 'winClasst',
				width : 900,
				height : 450,
				modal : true,
				url : url,
				title : '课程学员'
			});
		} else {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE,
					'info');
		}
	}

	//查看
	function viewDataClasst() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length == 1) {
			var url = url_formActionClasst + '?pageset.pageType='
					+ PAGETYPE.VIEW + '&ids=' + selectedArray[0].ID;
			$.farm.openWindow({
				id : 'winClasst',
				width : 600,
				height : 300,
				modal : true,
				url : url,
				title : '浏览'
			});
		} else {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE_ONLY,
					'info');
		}
	}
	//新增
	function addDataClasst() {
		var url = url_formActionClasst + '?operateType=' + PAGETYPE.ADD;
		$.farm.openWindow({
			id : 'winClasst',
			width : 600,
			height : 300,
			modal : true,
			url : url,
			title : '新增'
		});
	}
	//修改
	function editDataClasst() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length == 1) {
			var url = url_formActionClasst + '?operateType=' + PAGETYPE.EDIT
					+ '&ids=' + selectedArray[0].ID;
			$.farm.openWindow({
				id : 'winClasst',
				width : 600,
				height : 300,
				modal : true,
				url : url,
				title : '修改'
			});
		} else {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE_ONLY,
					'info');
		}
	}
	//导出到服务器磁盘
	function saveToDisk() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length == 1) {
			// 有数据执行操作
			var str = "是否立即将所选课程导出到服务器磁盘?";
			$.messager.confirm(MESSAGE_PLAT.PROMPT, str, function(flag) {
				if (flag) {
					$.messager.progress({
						text : '处理中...',
						interval : 0
					});
					var classid = $.farm.getCheckedIds(gridClasst, 'ID');
					$.post('classt/saveToDisk.do?classid=' + classid, {},
							function(flag) {
								var jsonObject = JSON.parse(flag, null);
								if (jsonObject.STATE == 0) {
									//显示导出进度
									loadSTProcess();
								} else {
									var str = MESSAGE_PLAT.ERROR_SUBMIT
											+ jsonObject.MESSAGE;
									$.messager.alert(MESSAGE_PLAT.ERROR, str,
											'error');
								}
							});
				}
			});
		} else {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE_ONLY,
					'info');
		}
	}
	//加载远程进度（导出课程）
	function loadSTProcess() {
		var classid = $.farm.getCheckedIds(gridClasst, 'ID');
		$.post('classt/loadSDProgress.do?classid=' + classid, {},
				function(flag) {
					var state = flag.state;
					var message = flag.message;
					$(".progressbar-text").text(state + ":" + message);
					if (state == '0') {
						setTimeout(function() {
							$.messager.progress('close');
						}, 1000);
					} else {
						setTimeout(function() {
							loadSTProcess()
						}, 1000);
					}
				}, 'json');
	}

	//删除
	function delDataClasst() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length > 0) {
			// 有数据执行操作
			var str = selectedArray.length + MESSAGE_PLAT.SUCCESS_DEL_NEXT_IS;
			$.messager.confirm(MESSAGE_PLAT.PROMPT, str, function(flag) {
				if (flag) {
					$(gridClasst).datagrid('loading');
					$.post(url_delActionClasst + '?ids='
							+ $.farm.getCheckedIds(gridClasst, 'ID'), {},
							function(flag) {
								var jsonObject = JSON.parse(flag, null);
								$(gridClasst).datagrid('loaded');
								if (jsonObject.STATE == 0) {
									$(gridClasst).datagrid('reload');
								} else {
									var str = MESSAGE_PLAT.ERROR_SUBMIT
											+ jsonObject.MESSAGE;
									$.messager.alert(MESSAGE_PLAT.ERROR, str,
											'error');
								}
							});
				}
			});
		} else {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE,
					'info');
		}
	}
	
	//移动节点
	function chooseTree() {
		var selectedArray = $(gridClasst).datagrid('getSelections');
		if (selectedArray.length > 0) {
			$.farm.openWindow({
				id : 'classtypeTreeNodeWin',
				width : 250,
				height : 300,
				modal : true,
				url : "classtype/treeNodeTreeView.do",
				title : '设置分类'
			});
			chooseWindowCallBackHandle = function(node) {
				$.messager.confirm('确认对话框', '确定将课程设置为该分类吗？', function(falg1) {
					if (falg1) {
						$.post('classt/typeSubmit.do', {
							ids : $.farm.getCheckedIds(gridClasst, 'ID'),
							typeid : node.id
						}, function(flag) {
							if (flag.STATE == 0) {
								$(gridClasst).datagrid('reload');
							} else {
								var str = MESSAGE_PLAT.ERROR_SUBMIT
										+ flag.MESSAGE;
								$.messager.alert(MESSAGE_PLAT.ERROR, str,
										'error');
							}
						}, 'json');
					}
				});
			};
		} else {
			$.messager.alert(MESSAGE_PLAT.PROMPT, MESSAGE_PLAT.CHOOSE_ONE,
					'info');
		}
	}
</script>
</html>